/*
 * Powered By [lixin]
 * 代码脚手架工具生成 [AI-Code]
 */

package com.rzhkj.box.service;


import com.rzhkj.box.entity.BoxFile;
import com.rzhkj.box.entity.Doc;
import com.rzhkj.core.base.BaseMybatisSV;

import java.io.InputStream;
import java.util.List;

public interface DocSV extends BaseMybatisSV<Doc, Long> {

    /**
     * 上传文档
     *
     * @param boxFile 收纳文件
     * @param boxCode 收纳箱编码
     * @param file    文档
     * @param suffix  后缀
     * @param size    大小
     * @return true/false
     */
    boolean uploadDoc(BoxFile boxFile, String boxCode, InputStream file, String suffix, Long size);

    /**
     * 上传图片
     *
     * @param boxCode boxCode
     * @param boxCode boxCode
     * @param pic     图片流
     * @param suffix  后缀
     * @param size    大小
     * @return true/false
     */
    boolean uploadPic(BoxFile boxFile, String boxCode, InputStream pic, String suffix, Long size);

    /**
     * 上传base64图片
     *
     * @param boxFiles 文件对象
     * @param boxCode  box编码
     * @return
     */
    boolean uploadBase64Pic(List<BoxFile> boxFiles, String boxCode);

    /**
     * 加载对象Doc 通过code
     *
     * @param code 编码
     * @return Doc
     */
    Doc loadByCode(java.lang.String code);

    /**
     * 加载对象Doc 通过boxCode
     *
     * @param boxCode 收纳盒编码
     * @return Doc
     */
    Doc loadByBoxCode(java.lang.String boxCode);


    /**
     * 删除对象Doc
     *
     * @param id id@param code 编码@param boxCode 收纳盒编码
     * @return Doc
     */
    void delete(java.lang.Long id, java.lang.String code, java.lang.String boxCode);


}
